<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="mockjs/mock-min.js"></script>
</head>
<body>
    <script>
        // mock的属性取值为方法(函数)，用于扩展随机生成的方法规则，通过return结果描述生成值，该方法的this将自动指向于生成的模拟数据对象
        console.log(Mock.mock({
            aa:100,
            callback:function(){
                // console.log(this);
                let n=Math.random();
                console.log(n);
                if(n>=0.5){
                    return 1;
                }else{
                    return 2;
                }
            }
        }));


        // 随机生成一个数字，如果大于0.5，
        // 对象中的一个属性users：对应的值是数组，数组中有10个对象，对象中有name（随机的中文名）,age（随机年龄1-100之间）
        // 如果数字小于0.5，users属性对应的值是null

        console.log(Mock.mock({
            users:function(){
                let n=Math.random();
                if(n>0.5){
                    let data=Mock.mock({
                        "user|10":[
                            {
                                name:"@cname",
                                "age|1-100":0
                            }
                        ]
                    });
                    return data.user;

                }else{
                    return null;
                }
            }
        }));

        console.log("-------------------------------------------------")

        console.log(Mock.mock({
            "state|9-1":true,
            users:function(){
                
                if(this.state){
                    let data=Mock.mock({
                        "user|10":[
                            {
                                name:"@cname",
                                "age|1-100":0
                            }
                        ]
                    });
                    return data.user;

                }else{
                    return null;
                }
            }
        }));







    </script>
</body>
</html>